package com.ruoyi.system.service;

import com.ruoyi.common.apiResult.Result;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.ZsyyParkTicket;
import com.ruoyi.system.vo.DownloadParkTicketVo;
import com.ruoyi.system.vo.ZsyyParkTicketVo;
import com.ruoyi.system.bo.ZsyyParkTicketQueryBo;
import com.ruoyi.system.bo.ZsyyParkTicketAddBo;
import com.ruoyi.system.bo.ZsyyParkTicketEditBo;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.Collection;
import java.util.List;

/**
 * 月票管理Service接口
 *
 * @author wangghua
 * @date 2021-07-14
 */
public interface IZsyyParkTicketService extends IServicePlus<ZsyyParkTicket> {
	/**
	 * 查询单个
	 * @return
	 */
	ZsyyParkTicketVo queryById(Long id);

	/**
	 * 查询列表
	 */
    TableDataInfo<ZsyyParkTicketVo> queryPageList(ZsyyParkTicketQueryBo bo);

	/**
	 * 查询列表
	 */
	List<ZsyyParkTicketVo> queryList(ZsyyParkTicketQueryBo bo);

	/**
	 * 根据新增业务对象插入月票管理
	 * @param bo 月票管理新增业务对象
	 * @return
	 */
	AjaxResult insertByAddBo(ZsyyParkTicketAddBo bo);

	/**
	 * 根据编辑业务对象修改月票管理
	 * @param bo 月票管理编辑业务对象
	 * @return
	 */
	AjaxResult updateByEditBo(ZsyyParkTicketEditBo bo);

	/**
	 * 校验并删除数据
	 * @param ids 主键集合
	 * @return
	 */
	AjaxResult deleteWithValidByIds(Collection<Long> ids);

	String importParkTicket(List<DownloadParkTicketVo> studentVoList, boolean updateSupport, String operName);
}
